// Copyright (c)  YISH. All rights reserved.
// Licensed under the MIT License. See License.txt in the project root for license information.

namespace NSQL.Expressions
{
    public class EmptyExpression : IExpression, IPredicateExpression
    {
        public static readonly EmptyExpression Instance = new EmptyExpression();
        private EmptyExpression()
        {
        }

        public object DeepCopy() => Instance;

        public object Tag { get; set; }
        public T Accept<T>(IExpressionVisitor<T> visitor) => default;

        public void Accept(IExpressionVisitor visitor)
        {
        }

        public bool IsValid => true;

        public override string ToString() => "<Empty>";
    }
}